package com.wande.dataplatform.service;

import com.wande.common.mybatis.core.page.PageQuery;
import com.wande.common.mybatis.core.page.TableDataInfo;
import com.wande.dataplatform.domain.bo.FillTemplateBo;
import com.wande.dataplatform.domain.vo.FillTemplateVO;

import java.util.Collection;
import java.util.List;

/**
 * 数据填报模板Service接口
 *
 * @author wande
 */
public interface IFillTemplateService {

    /**
     * 查询数据填报模板列表
     */
    TableDataInfo<FillTemplateVO> queryPageList(FillTemplateBo bo, PageQuery pageQuery);

    /**
     * 查询数据填报模板列表
     */
    List<FillTemplateVO> queryList(FillTemplateBo bo);

    /**
     * 查询数据填报模板详情
     */
    FillTemplateVO queryById(Long id);

    /**
     * 新增数据填报模板
     */
    Long insertByBo(FillTemplateBo bo);

    /**
     * 修改数据填报模板
     */
    Boolean updateByBo(FillTemplateBo bo);

    /**
     * 校验并批量删除数据填报模板
     */
    Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);

    /**
     * 根据编码查询模板
     */
    FillTemplateVO queryByCode(String code);

    /**
     * 导出模板
     */
    byte[] exportTemplate(Long id, String format);

    /**
     * 导入模板
     */
    Boolean importTemplate(byte[] data, String format);
}
